package com.xfcy.blog.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xfcy.blog.entity.Category;
import com.xfcy.blog.vo.CategoryCountVO;
import com.xfcy.blog.vo.CategoryVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 博客分类表(Category)表数据库访问层
 *
 * @author 晓风残月Lx
 * @since 2023-04-09 11:03:05
 */
@Repository
public interface CategoryMapper extends BaseMapper<Category> {

    /**
     * 查询所有的分类
     * @return
     */
    List<CategoryVO> selectAll();

    /**
     * 查询分类下的文章数
     * @return
     */
    List<CategoryCountVO> countArticle();


    /**
     * 后台分类列表
     * @return
     */
    Page<CategoryVO> selectListRecord(@Param("Page") Page<Object> page, @Param("name") String name);

    /**
     * 查询文章的分类
     * @param categoryId
     * @return
     */
    String selectByCategoryId(@Param("categoryId") Long categoryId);

    /**
     * 置顶或取消置顶
     * @param id
     * @param one
     */
    void updateSort(@Param("id") Long id, @Param("sort") Integer sort);
}

